package com.monkeyboy.utils;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;

import java.io.InputStreamReader;
import java.util.Properties;


/**
 * 作用 读取配置文件的工具类
 * 
 * @author Gavin 2018年9月1日
 */
@Slf4j
public class PropertiesUtils2 {
	private static Properties props;
	// 静态代码块，在加载到这儿的时候就进行初始化该类
	static {
		String fileName="util_modul.properties";
		props=new Properties();
		try {
			props.load(new InputStreamReader(PropertiesUtils2.class.getClassLoader().getResourceAsStream(fileName),"UTF-8"));
		} catch (Exception e) {
			log.error("util_modul加载配置文件出错",e);
		}
	}
	/**作用
	 * 根据key值获取相应的键，如果没有值就返回null
	 * @Author Gavin
	 * 2018年9月1日
	 * @param key
	 * @return
	 */
	public static String getProperty(String key) {
		String value=props.getProperty(String.valueOf(key).trim());
		if(StringUtils.isBlank(value)) {
			return null;
		}
		return value.trim();
	}
	/**
	 * 作用
	 * 如果key值对应的是一个空，那么就返回默认值
	 * @Author Gavin
	 * 2018年9月1日
	 * @param key
	 * @param defaultValue
	 * @return
	 */
	public static String getProperty(String key,String defaultValue) {
		String value=props.getProperty(String.valueOf(key).trim());
		if(StringUtils.isBlank(value)) {
			value= defaultValue;
		}
		return value.trim();
	}
	public static void main(String[] args) {
		System.out.println(getProperty("util.modul.test"));
		try {
			throw new Exception("test error");
		} catch (Exception e) {
			log.error("wer",e);
		}
	}
}